#ifndef SPA_QUERY_PROCESSOR_H
#define SPA_QUERY_PROCESSOR_H

#include <string>
#include <iostream>

#include "QueryParser.h"
#include "QueryValidator.h"
#include "QueryEvaluator.h"
#include "QueryPreprocessor.h"

class QueryProcessor
{
	private:
		QueryParser _parser;
		QueryValidator _validator;
		QueryEvaluator _evaluator;
		QueryPreprocessor _preprocessor;

	public:
		QueryProcessor();
		~QueryProcessor();

		void PreparePreprocessor();
		std::list<std::string> Process( std::string query );
};

#endif